package com.xxchat.service;

import java.util.List;

import com.xxchat.entity.query.SysVersionQuery;
import com.xxchat.entity.po.SysVersion;
import com.xxchat.entity.vo.PaginationResultVO;
import org.springframework.web.multipart.MultipartFile;

import javax.validation.constraints.NotNull;


/**
 * 版本发布 业务接口
 */
public interface SysVersionService {

	/**
	 * 根据条件查询列表
	 */
	List<SysVersion> findListByParam(SysVersionQuery param);

	/**
	 * 根据条件查询列表
	 */
	Integer findCountByParam(SysVersionQuery param);

	/**
	 * 分页查询
	 */
	PaginationResultVO<SysVersion> findListByPage(SysVersionQuery param);

	/**
	 * 新增
	 */
	Integer add(SysVersion bean);

	/**
	 * 批量新增
	 */
	Integer addBatch(List<SysVersion> listBean);

	/**
	 * 批量新增/修改
	 */
	Integer addOrUpdateBatch(List<SysVersion> listBean);

	/**
	 * 多条件更新
	 */
	Integer updateByParam(SysVersion bean,SysVersionQuery param);

	/**
	 * 多条件删除
	 */
	Integer deleteByParam(SysVersionQuery param);

	/**
	 * 根据Id查询对象
	 */
	SysVersion getSysVersionById(Integer id);


	/**
	 * 根据Id修改
	 */
	Integer updateSysVersionById(SysVersion bean,Integer id);


	/**
	 * 根据Id删除
	 */
	Integer deleteSysVersionById(Integer id);

	void saveVersion(SysVersion sysVersion, MultipartFile file);

	void postVersion(Integer id, Integer status, String grayScaleUid);

	SysVersion checkVersion(String version, String uid);
}